package com.xinqi.modules.chat.chat.group.dto.rsp;

import com.xinqi.common.base.enums.YesNoNumberEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 群组表-响应对象
 *
 * @author: system
 * @date: 2023/01/12
 */
@Data
@Schema(description = "群组表-响应")
public class ChatGroupResultDTO implements Serializable {
    /**
     * id主键
     */
    @Schema(description = "id主键")
    private Long id;
    /**
     * 融云生成群聊ID
     */
    @Schema(description = "融云生成群聊ID")
    private String groupId;
    /**
     * 绑定班级id
     */
    @Schema(description = "绑定班级id")
    private Long classId;
    /**
     * 创建人ID
     */
    @Schema(description = "创建人ID")
    private Long userId;
    /**
     * 群头像
     */
    @Schema(description = "群头像")
    private String avatar;
    /**
     * 分组名字
     */
    @Schema(description = "分组名字")
    private String groupName;
    /**
     * 群组二维码
     */
    @Schema(description = "群组二维码")
    private String qrCode;
    private String qrCodeStr;
    /**
     * 加群是否需要审核 1是 0否
     */
    @Schema(description = "加群是否需要审核 1是 0否")
    private Integer examine;
    /**
     * 设置全员禁言 1是 0否
     */
    @Schema(description = "设置全员禁言 1是 0否")
    private Integer allForbiddenWords;
    /**
     * 1正常2解散
     */
    @Schema(description = "1正常2解散")
    private Integer status;
    /**
     * 用户标识 1群主 2管理员 3普通用户
     */
    private Integer leaderFlag;
    /**
     * 群组备注名称
     */
    private String groupRename;
    /**
     * 设置免打扰
     */
    @Schema(description = "设置免打扰")
    private Integer isDisturb;
    /**
     * 设置群置顶
     */
    @Schema(description = "设置群置顶")
    private Integer isTop;
    /**
     * 置顶时间
     */
    @Schema(description = "置顶时间")
    private LocalDateTime topTime;

    @Schema(description = "群成员数量")
    private Integer count;

    @Schema(description = "存在群里")
    private Integer existence = YesNoNumberEnum.YES.getCode();

    @Schema(description = "待审核数量")
    private Integer toAuditCount;

    @Schema(description = "群成员列表")
    private List<ChatGroupUserResultDTO> groupUserList;
}
